package alp.starcode.nudtportal.framework.mybatis.vo;

import alp.starcode.nudtportal.framework.constant.ElasticConst;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * 用户行为日志
 *
 * @Author wj
 * @Date 2023/8/14 16:49
 */
@Data
@Document(indexName = ElasticConst.LOG_MODULE_ACCESS)

public class LogModuleAccessVO {

    @Field(type = FieldType.Keyword)
    @ApiModelProperty(value = "访问流水号")
    private String moduleAccessId;

    @Field(type = FieldType.Keyword)
    @ApiModelProperty(value = "用户流水号")
    private String userId;

    @Field(type = FieldType.Text)
    @ApiModelProperty(value = "一卡通卡号")
    private String campusNumber;

    @Field(type = FieldType.Text)
    @ApiModelProperty(value = "登录账号")
    private String loginAccount;

    @Field(type = FieldType.Keyword)
    @ApiModelProperty(value = "模块流水号")
    private String moduleId;

    @Field(type = FieldType.Text, analyzer = ElasticConst.ES_IK_MAX_WORD)
    @ApiModelProperty(value = "模块名称")
    private String moduleName;

    @Field(type = FieldType.Integer)
    @ApiModelProperty(value = "模块类型")
    private Integer moduleType;

    @Field(type = FieldType.Long)
    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    @Field(type = FieldType.Long)
    @ApiModelProperty(value = "修改时间")
    private Long updateTime;

    @Field(type = FieldType.Text, analyzer = ElasticConst.ES_IK_MAX_WORD)
    @ApiModelProperty(value = "模块分类名称")
    private String moduleClass;

    @Field(type = FieldType.Keyword)
    @ApiModelProperty("模块分类id")
    private String moduleClassUuid;

    @Field(type = FieldType.Text)
    @ApiModelProperty("页面路由")
    private String moduleEntrance;

    @Field(type = FieldType.Text)
    @ApiModelProperty("附带参数")
    private String attachData;

    @Field(type = FieldType.Text)
    @ApiModelProperty(value = "搜索key信息")
    private String searchStr;
}
